package com.yx.changdao.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yx.changdao.common.entity.WithinLetter;
import com.yx.changdao.common.exception.AlertException;
import org.springframework.transaction.annotation.Transactional;


/**
 * @Description: <br/>
 * 栈内信
 * <p>
 * <br/>
 * @Auther: walter
 * @create 2020/05/07 10:34
 */
public interface WithinLetterService extends IService<WithinLetter> {
    /**
     * 给某个人发送
     * @param sender 发送者
     * @param receiver 接受者
     * @param title 标题
     * @param content 内容
     * @param type 信类型（0:普通 1：未逾期 2：即将逾期）
     */
    boolean sendToOne(String sender,String receiver,String title,String content,Integer type) throws AlertException;
    /**
     * 给部门发送
     * @param sender 发送者
     * @param depId 接受者
     * @param title 标题
     * @param content 内容
     * @param type 信类型（0:普通 1：未逾期 2：即将逾期）
     */
    @Transactional(rollbackFor = {Exception.class})
    boolean sendToDep(String sender,Integer depId,String title,String content,Integer type) throws AlertException;

    /**
     *
     * @param sender 发送者
     * @param title 标题
     * @param content   内容
     * @param type  信类型（0:普通 1：未逾期 2：即将逾期）
     * @return
     * @throws AlertException
     */
    @Transactional(rollbackFor = {Exception.class})
    boolean sendToAll(String sender,String title,String content,Integer type) throws AlertException;
}
